//
// Maths.hpp for  in /home/goldbe_y//tek3/Projets/Maths/302graphe
// 
// Made by yoni goldberg
// Login   <goldbe_y@epitech.net>
// 
// Started on  Mon Sep 24 14:38:25 2012 yoni goldberg
// Last update Tue Oct  9 10:40:46 2012 yoni goldberg
//

#ifndef MATHS
#define MATHS

#include "Parse.hpp"
#include <cstdlib>

class Maths
{
public:
  Maths(const std::string &);
  ~Maths();
  
  int				get_line();
  int				get_sommets();

  std::vector<std::string>	get_tab();
  std::string			*get_adj();
  int				*get_res();
  int				*get_osef();

  void				aff_tab(std::vector<std::string>);
  void				do_parcour();
private:
  std::string			_str;
  std::vector<std::string>	_tab;

  std::string			*_adj;

  int				*_result;
  int				*osef;

  int				_line;
  int				_sommets;



  int				_count;
  std::string			_save;
  



  void	init_matrix(int ***);
  void	tri_selection(int *, int);
  int	**get_first_matrix();
  int	**get_forth_matrix();

  bool	check3(char);
  void	check(char);
  bool	check2(std::string, char);
  void	nombre_sommet();
  void	fill_adj();
  void	parcours_largeur(int, int);
};

#endif
